home *** CD-ROM | disk | FTP | other *** search
Makefile | 1992-08-18 | 18.2 KB | 388 lines |
- #
- # Makefile for the GNU Objective-C run-time systemm
- # The Makefile was designed using GNU make 3.60.8.
- # If you don't have it... then get it.
- #
- # Copyright (C) 1992 Trirex Systems, Inc.
- #
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published
- # by the Free Software Foundation; either version 1, or any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- # General Public License for more details.
- #
- # You should receive a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
-
- # This make file requires GNU make 3.60.12 or greater. This is true if you
- # are working on the NeXT too.
- # To make the run-time first do a '.
- # This is done, for example, by: make array. Then you should make
- # the test code: make test.
-
- # $Header: /usr/user/dennis_glatting/ObjC/c-runtime/RCS/Makefile,v 0.10 1992/08/18 04:49:30 dglattin Exp dglattin $
- # $Author: dglattin $
- # $Date: 1992/08/18 04:49:30 $
- # $Log: Makefile,v $
- # Revision 0.10 1992/08/18 04:49:30 dglattin
- # Saving a working version before release.
- #
- # Revision 0.9 1992/04/18 02:13:57 dennisg
- # last check in before release (sure it is).
- #
- # Revision 0.8 1992/04/13 11:40:04 dennisg
- # Many changes to support multiple run-times.
- # More to come.
- #
- # Revision 0.6 1991/12/01 03:18:23 dennisg
- # added error (but it should go away).
- #
- # Revision 0.5 1991/11/29 00:23:03 dennisg
- # changes to file tructure.
- #
- # Revision 0.4 1991/11/21 00:56:20 dennisg
- # added options to CFLAGS for testing.
- # made other changes for testing.
- #
- # Revision 0.3 1991/11/16 16:31:04 dennisg
- # took out some NeXT code hacks.
- # changed various flags and things.
- #
- # Revision 0.2 1991/11/07 22:32:13 dennisg
- # added copyleft.
- #
- # Revision 0.1 1991/10/24 01:02:53 dennisg
- # Initial check in. Preliminary development stage.
- #
- #
-
- # Usual definations and things.
- GNU_CFLAGS= -Wall -Wno-format -g -v -fomit-frame-pointer #
- CFLAGS=-Iinclude -Itests \
- -Idispatch \
- -I/usr/local/gnu.development/ss-920717\
- -I/usr/local/gnu.development/ss-920717/config \
- $(GNU_CFLAGS) -O4 -UDEBUG -DNDEBUG # -DDEBUG #
- LDFLAGS=-L. -lrun-time
- CC=gcc
-
- VPATH= .:dispatch:include:tests:$(OBJ_DIR)
-
-
- # Library functions that compose the
- # run-time.
- LIBRARY_SOURCES= dispatch/hash.c dispatch/core.c dispatch/Object.m
-
- LIBRARY_OBJECTS= $(addsuffix .o, \
- $(addprefix $(OBJ_DIR)/, \
- $(notdir $(basename $(LIBRARY_SOURCES)))))
-
-
-
- TEST_SOURCES=tests/test.m tests/SubClass1.m tests/SubClass2.m \
- tests/SubClass3.m tests/SubClass4.m tests/SubClass5.m \
- tests/Confuse.m tests/ConfuseMore.m
- TEST_OBJECTS=$(addprefix $(OBJ_DIR)/, $(notdir $(TEST_SOURCES:.m=.o)))
-
- ERROR_SOURCES=tests/error.m
- ERROR_OBJECTS=$(addprefix $(OBJ_DIR)/, $(notdir $(ERROR_SOURCES:.c=.o)))
-
- OBJ_DIR=obj
-
-
- # Rules.
- $(OBJ_DIR)/%.o : %.cc
- cc++ -c -o $(OBJ_DIR)/$(notdir $@) $(CFLAGS) $(GNU_CFLAGS) $<
-
- $(OBJ_DIR)/%.o : %.m
- $(CC) -c -S $(CFLAGS) $(GNU_CFLAGS) $<
- as -o $(OBJ_DIR)/$(notdir $@) `basename $< .m`".s"
-
- $(OBJ_DIR)/%.o : %.c
- $(CC) -c -o $(OBJ_DIR)/$(notdir $@) $(CFLAGS) $(GNU_CFLAGS) $<
-
- lib:: $(OBJ_DIR)
- lib:: $(LIBRARY_OBJECTS)
- -rm librun-time.a
- $(AR) $(ARFLAGS) librun-time.a $?
- ranlib librun-time.a
-
-
- # Targets.
- all:
-
- $(OBJ_DIR):
- -@if [ ! -d $@ ]; \
- then \
- mkdir $@; \
- fi
-
- clean::
- -rm librun-time.a
- -rm -rf $(OBJ_DIR)
- -find . -type f \( -name "*~" -o -name "*.o" -o -name test -o \
- -name core -o -name "*.s" \) -print | xargs rm -f
- -rm *.bak *.tmp
-
- depend:: $(sort $(LIBRARY_SOURCES) $(TEST_SOURCES) $(ERROR_SOURCES))
- mkdepend $(CFLAGS) $^
- @cat Makefile | awk -f depend.awk > Makefile.tmp
- -@rm Makefile.bak
- @mv Makefile Makefile.bak
- @mv Makefile.tmp Makefile
-
-
- # Test.
- test: $(TEST_OBJECTS)
- $(CC)-o $@ $^ $(LDFLAGS) $(CFLAGS)
- clean::
- -rm test
-
- # NeXT.
- test_NeXT:: libsys_s.a $(TEST_OBJECTS)
- $(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS) -lsys_s
- clean::
- -rm libsys_s.a
- -rm test_NeXT
-
- error: libsys_s.a $(ERROR_OBJECTS)
- $(LD) -Z -r -o $@.o /lib/crt0.o $^ $(LDFLAGS) -lsys_s
- /lib/collect -o /tmp/shit.s $@.o
- as /tmp/shit.s -o /tmp/shit.o
- $(LD) -o $@ $@.o /tmp/shit.o $(LDFLAGS)
- clean::
- -rm error
-
-
- libsys_s.a: /lib/libsys_s.a
- cp $< .
- ar d $@ Object.o
- ranlib $@
-
-
- # DO NOT DELETE THIS LINE -- mkdepend uses it.
- # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
- $(OBJ_DIR)/Object.o : dispatch/Object.m dispatch/Object.h include/objc.h \
- /usr/include/sys/types.h dispatch/record-inline.h \
- /usr/local/gnu.development/ss-920717/assert.h /usr/include/stdlib.h \
- /usr/include/stddef.h /usr/include/stdarg.h /usr/include/stdio.h \
- /usr/include/libc.h /usr/include/string.h /usr/include/time.h \
- /usr/include/sys/wait.h /usr/include/sys/resource.h /usr/include/sys/time.h \
- /usr/include/sys/times.h /usr/include/sys/param.h \
- /usr/include/sys/features.h /usr/include/machine/machparam.h \
- /usr/include/kern/assert.h /usr/include/next/vm_param.h \
- /usr/include/next/eventc.h /usr/include/sys/signal.h \
- /usr/include/machine/signal.h /usr/include/signal.h \
- /usr/include/sys/time_stamp.h /usr/include/sys/kern_return.h \
- /usr/include/machine/kern_return.h /usr/include/machine/time_stamp.h \
- /usr/include/sys/stat.h /usr/include/sys/file.h /usr/include/sys/fcntl.h \
- /usr/include/sys/socket.h /usr/include/sys/vfs.h /usr/include/sys/ioctl.h \
- /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h \
- /usr/include/netinet/in.h /usr/include/arpa/inet.h \
- /usr/include/machine/vm_types.h /usr/include/machine/boolean.h \
- include/objc-proto.h include/objc-protoP.h \
- /usr/local/gnu.development/ss-920717/tm.h \
- /usr/local/gnu.development/ss-920717/config/m68k.h /usr/include/errno.h \
- /usr/include/sys/errno.h
- $(OBJ_DIR)/core.o : dispatch/core.c /usr/local/gnu.development/ss-920717/assert.h \
- /usr/include/ctype.h /usr/include/memory.h dispatch/hash.h \
- /usr/include/sys/types.h dispatch/mutex.h include/objc.h \
- dispatch/record-inline.h /usr/include/stdlib.h /usr/include/stddef.h \
- /usr/include/stdarg.h include/objcP.h include/objc-proto.h \
- include/objc-protoP.h /usr/include/stdio.h \
- /usr/local/gnu.development/ss-920717/tm.h \
- /usr/local/gnu.development/ss-920717/config/m68k.h
- $(OBJ_DIR)/hash.o : dispatch/hash.c dispatch/hash.h \
- /usr/local/gnu.development/ss-920717/assert.h /usr/include/sys/types.h \
- dispatch/mutex.h include/objc.h dispatch/record-inline.h \
- /usr/include/stdlib.h /usr/include/stddef.h /usr/include/stdarg.h \
- include/objcP.h include/objc-protoP.h /usr/include/stdio.h \
- /usr/local/gnu.development/ss-920717/tm.h \
- /usr/local/gnu.development/ss-920717/config/m68k.h /usr/include/math.h \
- /usr/include/errno.h /usr/include/sys/errno.h
- $(OBJ_DIR)/Confuse.o : tests/Confuse.m tests/Confuse.h tests/SubClass1.h \
- dispatch/Object.h include/objc.h /usr/include/sys/types.h \
- dispatch/record-inline.h /usr/local/gnu.development/ss-920717/assert.h \
- /usr/include/stdlib.h /usr/include/stddef.h /usr/include/stdarg.h \
- /usr/include/stdio.h /usr/include/libc.h /usr/include/string.h \
- /usr/include/time.h /usr/include/sys/wait.h /usr/include/sys/resource.h \
- /usr/include/sys/time.h /usr/include/sys/times.h /usr/include/sys/param.h \
- /usr/include/sys/features.h /usr/include/machine/machparam.h \
- /usr/include/kern/assert.h /usr/include/next/vm_param.h \
- /usr/include/next/eventc.h /usr/include/sys/signal.h \
- /usr/include/machine/signal.h /usr/include/signal.h \
- /usr/include/sys/time_stamp.h /usr/include/sys/kern_return.h \
- /usr/include/machine/kern_return.h /usr/include/machine/time_stamp.h \
- /usr/include/sys/stat.h /usr/include/sys/file.h /usr/include/sys/fcntl.h \
- /usr/include/sys/socket.h /usr/include/sys/vfs.h /usr/include/sys/ioctl.h \
- /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h \
- /usr/include/netinet/in.h /usr/include/arpa/inet.h \
- /usr/include/machine/vm_types.h /usr/include/machine/boolean.h \
- tests/SubClass2.h tests/SubClass3.h include/objc-proto.h \
- include/objc-protoP.h /usr/local/gnu.development/ss-920717/tm.h \
- /usr/local/gnu.development/ss-920717/config/m68k.h
- $(OBJ_DIR)/ConfuseMore.o : tests/ConfuseMore.m tests/ConfuseMore.h tests/SubClass1.h \
- dispatch/Object.h include/objc.h /usr/include/sys/types.h \
- dispatch/record-inline.h /usr/local/gnu.development/ss-920717/assert.h \
- /usr/include/stdlib.h /usr/include/stddef.h /usr/include/stdarg.h \
- /usr/include/stdio.h /usr/include/libc.h /usr/include/string.h \
- /usr/include/time.h /usr/include/sys/wait.h /usr/include/sys/resource.h \
- /usr/include/sys/time.h /usr/include/sys/times.h /usr/include/sys/param.h \
- /usr/include/sys/features.h /usr/include/machine/machparam.h \
- /usr/include/kern/assert.h /usr/include/next/vm_param.h \
- /usr/include/next/eventc.h /usr/include/sys/signal.h \
- /usr/include/machine/signal.h /usr/include/signal.h \
- /usr/include/sys/time_stamp.h /usr/include/sys/kern_return.h \
- /usr/include/machine/kern_return.h /usr/include/machine/time_stamp.h \
- /usr/include/sys/stat.h /usr/include/sys/file.h /usr/include/sys/fcntl.h \
- /usr/include/sys/socket.h /usr/include/sys/vfs.h /usr/include/sys/ioctl.h \
- /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h \
- /usr/include/netinet/in.h /usr/include/arpa/inet.h \
- /usr/include/machine/vm_types.h /usr/include/machine/boolean.h \
- tests/SubClass2.h tests/SubClass3.h include/objc-proto.h \
- include/objc-protoP.h /usr/local/gnu.development/ss-920717/tm.h \
- /usr/local/gnu.development/ss-920717/config/m68k.h
- $(OBJ_DIR)/SubClass1.o : tests/SubClass1.m \
- /usr/local/gnu.development/ss-920717/assert.h /usr/include/stdio.h \
- /usr/include/stddef.h /usr/include/stdarg.h tests/SubClass1.h \
- dispatch/Object.h include/objc.h /usr/include/sys/types.h \
- dispatch/record-inline.h /usr/include/stdlib.h /usr/include/libc.h \
- /usr/include/string.h /usr/include/time.h /usr/include/sys/wait.h \
- /usr/include/sys/resource.h /usr/include/sys/time.h \
- /usr/include/sys/times.h /usr/include/sys/param.h \
- /usr/include/sys/features.h /usr/include/machine/machparam.h \
- /usr/include/kern/assert.h /usr/include/next/vm_param.h \
- /usr/include/next/eventc.h /usr/include/sys/signal.h \
- /usr/include/machine/signal.h /usr/include/signal.h \
- /usr/include/sys/time_stamp.h /usr/include/sys/kern_return.h \
- /usr/include/machine/kern_return.h /usr/include/machine/time_stamp.h \
- /usr/include/sys/stat.h /usr/include/sys/file.h /usr/include/sys/fcntl.h \
- /usr/include/sys/socket.h /usr/include/sys/vfs.h /usr/include/sys/ioctl.h \
- /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h \
- /usr/include/netinet/in.h /usr/include/arpa/inet.h \
- /usr/include/machine/vm_types.h /usr/include/machine/boolean.h
- $(OBJ_DIR)/SubClass2.o : tests/SubClass2.m \
- /usr/local/gnu.development/ss-920717/assert.h /usr/include/stdlib.h \
- /usr/include/stddef.h /usr/include/strings.h /usr/include/string.h \
- tests/SubClass2.h dispatch/Object.h include/objc.h /usr/include/sys/types.h \
- dispatch/record-inline.h /usr/include/stdarg.h /usr/include/stdio.h \
- /usr/include/libc.h /usr/include/time.h /usr/include/sys/wait.h \
- /usr/include/sys/resource.h /usr/include/sys/time.h \
- /usr/include/sys/times.h /usr/include/sys/param.h \
- /usr/include/sys/features.h /usr/include/machine/machparam.h \
- /usr/include/kern/assert.h /usr/include/next/vm_param.h \
- /usr/include/next/eventc.h /usr/include/sys/signal.h \
- /usr/include/machine/signal.h /usr/include/signal.h \
- /usr/include/sys/time_stamp.h /usr/include/sys/kern_return.h \
- /usr/include/machine/kern_return.h /usr/include/machine/time_stamp.h \
- /usr/include/sys/stat.h /usr/include/sys/file.h /usr/include/sys/fcntl.h \
- /usr/include/sys/socket.h /usr/include/sys/vfs.h /usr/include/sys/ioctl.h \
- /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h \
- /usr/include/netinet/in.h /usr/include/arpa/inet.h \
- /usr/include/machine/vm_types.h /usr/include/machine/boolean.h
- $(OBJ_DIR)/SubClass3.o : tests/SubClass3.m \
- /usr/local/gnu.development/ss-920717/assert.h \
- /usr/local/gnu.development/ss-920717/limits.h /usr/include/stdlib.h \
- /usr/include/stddef.h /usr/include/strings.h /usr/include/string.h \
- tests/SubClass3.h tests/SubClass2.h dispatch/Object.h include/objc.h \
- /usr/include/sys/types.h dispatch/record-inline.h /usr/include/stdarg.h \
- /usr/include/stdio.h /usr/include/libc.h /usr/include/time.h \
- /usr/include/sys/wait.h /usr/include/sys/resource.h /usr/include/sys/time.h \
- /usr/include/sys/times.h /usr/include/sys/param.h \
- /usr/include/sys/features.h /usr/include/machine/machparam.h \
- /usr/include/kern/assert.h /usr/include/next/vm_param.h \
- /usr/include/next/eventc.h /usr/include/sys/signal.h \
- /usr/include/machine/signal.h /usr/include/signal.h \
- /usr/include/sys/time_stamp.h /usr/include/sys/kern_return.h \
- /usr/include/machine/kern_return.h /usr/include/machine/time_stamp.h \
- /usr/include/sys/stat.h /usr/include/sys/file.h /usr/include/sys/fcntl.h \
- /usr/include/sys/socket.h /usr/include/sys/vfs.h /usr/include/sys/ioctl.h \
- /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h \
- /usr/include/netinet/in.h /usr/include/arpa/inet.h \
- /usr/include/machine/vm_types.h /usr/include/machine/boolean.h
- $(OBJ_DIR)/SubClass4.o : tests/SubClass4.m tests/SubClass4.h tests/SubClass1.h \
- dispatch/Object.h include/objc.h /usr/include/sys/types.h \
- dispatch/record-inline.h /usr/local/gnu.development/ss-920717/assert.h \
- /usr/include/stdlib.h /usr/include/stddef.h /usr/include/stdarg.h \
- /usr/include/stdio.h /usr/include/libc.h /usr/include/string.h \
- /usr/include/time.h /usr/include/sys/wait.h /usr/include/sys/resource.h \
- /usr/include/sys/time.h /usr/include/sys/times.h /usr/include/sys/param.h \
- /usr/include/sys/features.h /usr/include/machine/machparam.h \
- /usr/include/kern/assert.h /usr/include/next/vm_param.h \
- /usr/include/next/eventc.h /usr/include/sys/signal.h \
- /usr/include/machine/signal.h /usr/include/signal.h \
- /usr/include/sys/time_stamp.h /usr/include/sys/kern_return.h \
- /usr/include/machine/kern_return.h /usr/include/machine/time_stamp.h \
- /usr/include/sys/stat.h /usr/include/sys/file.h /usr/include/sys/fcntl.h \
- /usr/include/sys/socket.h /usr/include/sys/vfs.h /usr/include/sys/ioctl.h \
- /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h \
- /usr/include/netinet/in.h /usr/include/arpa/inet.h \
- /usr/include/machine/vm_types.h /usr/include/machine/boolean.h
- $(OBJ_DIR)/SubClass5.o : tests/SubClass5.m /usr/include/stdio.h /usr/include/stddef.h \
- /usr/include/stdarg.h tests/SubClass5.h tests/SubClass1.h dispatch/Object.h \
- include/objc.h /usr/include/sys/types.h dispatch/record-inline.h \
- /usr/local/gnu.development/ss-920717/assert.h /usr/include/stdlib.h \
- /usr/include/libc.h /usr/include/string.h /usr/include/time.h \
- /usr/include/sys/wait.h /usr/include/sys/resource.h /usr/include/sys/time.h \
- /usr/include/sys/times.h /usr/include/sys/param.h \
- /usr/include/sys/features.h /usr/include/machine/machparam.h \
- /usr/include/kern/assert.h /usr/include/next/vm_param.h \
- /usr/include/next/eventc.h /usr/include/sys/signal.h \
- /usr/include/machine/signal.h /usr/include/signal.h \
- /usr/include/sys/time_stamp.h /usr/include/sys/kern_return.h \
- /usr/include/machine/kern_return.h /usr/include/machine/time_stamp.h \
- /usr/include/sys/stat.h /usr/include/sys/file.h /usr/include/sys/fcntl.h \
- /usr/include/sys/socket.h /usr/include/sys/vfs.h /usr/include/sys/ioctl.h \
- /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h \
- /usr/include/netinet/in.h /usr/include/arpa/inet.h \
- /usr/include/machine/vm_types.h /usr/include/machine/boolean.h
- $(OBJ_DIR)/error.o : tests/error.m dispatch/Object.h include/objc.h \
- /usr/include/sys/types.h dispatch/record-inline.h \
- /usr/local/gnu.development/ss-920717/assert.h /usr/include/stdlib.h \
- /usr/include/stddef.h /usr/include/stdarg.h /usr/include/stdio.h \
- /usr/include/libc.h /usr/include/string.h /usr/include/time.h \
- /usr/include/sys/wait.h /usr/include/sys/resource.h /usr/include/sys/time.h \
- /usr/include/sys/times.h /usr/include/sys/param.h \
- /usr/include/sys/features.h /usr/include/machine/machparam.h \
- /usr/include/kern/assert.h /usr/include/next/vm_param.h \
- /usr/include/next/eventc.h /usr/include/sys/signal.h \
- /usr/include/machine/signal.h /usr/include/signal.h \
- /usr/include/sys/time_stamp.h /usr/include/sys/kern_return.h \
- /usr/include/machine/kern_return.h /usr/include/machine/time_stamp.h \
- /usr/include/sys/stat.h /usr/include/sys/file.h /usr/include/sys/fcntl.h \
- /usr/include/sys/socket.h /usr/include/sys/vfs.h /usr/include/sys/ioctl.h \
- /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h \
- /usr/include/netinet/in.h /usr/include/arpa/inet.h \
- /usr/include/machine/vm_types.h /usr/include/machine/boolean.h
- $(OBJ_DIR)/test.o : tests/test.m include/objc.h /usr/include/sys/types.h \
- dispatch/record-inline.h /usr/local/gnu.development/ss-920717/assert.h \
- /usr/include/stdlib.h /usr/include/stddef.h /usr/include/stdarg.h \
- include/objc-proto.h include/objc-protoP.h /usr/include/stdio.h \
- /usr/local/gnu.development/ss-920717/tm.h \
- /usr/local/gnu.development/ss-920717/config/m68k.h dispatch/Object.h \
- /usr/include/libc.h /usr/include/string.h /usr/include/time.h \
- /usr/include/sys/wait.h /usr/include/sys/resource.h /usr/include/sys/time.h \
- /usr/include/sys/times.h /usr/include/sys/param.h \
- /usr/include/sys/features.h /usr/include/machine/machparam.h \
- /usr/include/kern/assert.h /usr/include/next/vm_param.h \
- /usr/include/next/eventc.h /usr/include/sys/signal.h \
- /usr/include/machine/signal.h /usr/include/signal.h \
- /usr/include/sys/time_stamp.h /usr/include/sys/kern_return.h \
- /usr/include/machine/kern_return.h /usr/include/machine/time_stamp.h \
- /usr/include/sys/stat.h /usr/include/sys/file.h /usr/include/sys/fcntl.h \
- /usr/include/sys/socket.h /usr/include/sys/vfs.h /usr/include/sys/ioctl.h \
- /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h \
- /usr/include/netinet/in.h /usr/include/arpa/inet.h \
- /usr/include/machine/vm_types.h /usr/include/machine/boolean.h \
- tests/SubClass1.h tests/SubClass2.h tests/SubClass3.h tests/SubClass4.h \
- tests/SubClass5.h tests/Confuse.h tests/ConfuseMore.h /usr/include/fcntl.h \
- /usr/local/gnu.development/ss-920717/limits.h
-
- # IF YOU PUT ANYTHING HERE IT WILL GO AWAY
-